package com.wuliang.generate.common.core.basic;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.NoRepositoryBean;

/**
 * 自定义Repository
 *
 * @param <T> 实体类对象
 * @author WuLiang
 */
@NoRepositoryBean
public interface BaseRepository<T extends BasicEntity> extends JpaRepository<T, Integer>, JpaSpecificationExecutor<T> {

    /**
     * 根据数据状态查询分页后的数据
     *
     * @param dataStatus 数据状态
     * @param pageable   分页对象 分页对象
     * @return 分页后的数据
     */
    Page<T> findPageByDataStatus(Integer dataStatus, Pageable pageable);

}
